import axios from 'axios'
export default {
  namespaced: true, //开启命名空间
  // 存储数据
  state: {
    list: [] //准备存储购物车数据
  },

  // 同步方法
  mutations: {
    updateList (state, val) {
      state.list = val
    },
    // 修改选中状态的方法
    updateState (state, id) {
      const row = state.list.find(item => item.id === id)
      row.goods_state = !row.goods_state
    },
    // 修改数量的方法
    updateCount (state, obj) {
      const row = state.list.find(item => item.id === obj.id)
      if (row.goods_count === 1 && obj.val === -1) return
      row.goods_count += obj.val
    }
  },

  // 异步方法
  actions: {
    async initData (store) {
      // 发送请求，获取数据
      const { data: res } = await axios.get(
        'http://www.itcbc.com:3006/api/cart'
      )
      // 调用mutation方法，修改list
      store.commit('updateList', res.list)
    }
  },

  // 计算属性
  getters: {
    isFull (state) {
      return
    }
  }
}
